<?php

$act = isset($_REQUEST['act']) ? $_REQUEST['act'] : 'view';

/* Xem danh sách */
if ($act == 'view') {
	$friends = array();

	/* Lấy bạn bè */
	$sql = "SELECT friend_id, fullname, mail FROM friend";
	$result = mysql_query($sql);
	while ($row = mysql_fetch_assoc($result)) {
		$friends[] = $row;
	}

	/* Điền nhóm bạn bè */
	for ($i = 0; $i < count($friends); $i++) {
		$friends[$i]['friend_groups'] = get_group_of_friend($friends[$i]['friend_id']);
	}

	/* Kiểm tra thông báo */
	if (isset($_SESSION['success'])) {
		if ($_SESSION['success']) {
			$success = true;
		} else {
			$success = false;
		}

		$msg = $_SESSION['msg'];
		unset($_SESSION['success'], $_SESSION['msg']);
	}

	/* Load template */
	if (file_exists(DIR_TPL . 'friend/friend.tpl.php')) {
		include(DIR_TPL . 'friend/friend.tpl.php');
	} else {
		_log('Could not load the template "friend/friend"!', true);
	}
}

/* Hiện form thêm mới */
elseif ($act == 'add_new') {
	/* Lấy nhóm bạn bè */
	$groups = get_groups();

	$text_action = 'Thêm nhóm bạn bè mới';

	/* Load template */
	if (file_exists(DIR_TPL . 'friend/friend_form.tpl.php')) {
		include(DIR_TPL . 'friend/friend_form.tpl.php');
	} else {
		_log('Could not load the template "friend/friend_form"!', true);
	}
}
/* Thêm nhóm mới */
elseif ($act == 'add') {
	$friend = $_POST['friend'];


	// Thêm nhóm bạn bè
	$sql = "INSERT INTO friend(fullname, mail) VALUES('%s', '%s')";
	$success = mysql_query( sprintf($sql, db_escape($friend['fullname']), db_escape($friend['mail'])) );

	// Lấy id của friend vừa được thêm
	$new_friend_id = mysql_insert_id();

	// Thuộc nhóm
	$sql = "INSERT INTO friend_to_friend_group VALUES('%d', '%d')";
	foreach ($friend['friend_group_ids'] as $group_id) {
		mysql_query(sprintf( $sql, $new_friend_id, intval($group_id) ));
	}

	/* Thông báo */
	if ($success) {
		$_SESSION['success'] = true;
		$_SESSION['msg'] = 'Đã thêm bạn bè mới!';
	} else {
		$_SESSION['success'] = false;
		$_SESSION['msg'] = 'Không thể thêm! Bạn hãy thử lại...';
	}

	session_write_close();
	header('Location: ' . URL . '?page=ban_be');
}

/* Hiện form sửa */
elseif ($act == 'edit') {
	$friend = array();

	// Lấy bạn bè được chọn
	$sql = "SELECT friend_id, fullname, mail FROM friend";
	$sql .= " WHERE friend_id =" . intval($_REQUEST['friend_id']);
	$friend = mysql_fetch_assoc(mysql_query($sql));
	$friend['friend_groups'] = get_group_of_friend($friend['friend_id']);

	// Lấy tất cả các nhóm
	$groups = get_groups();

	$text_action = 'Sửa bạn bè #' . $friend['friend_id'];

	/* Load template */
	if (file_exists(DIR_TPL . 'friend/friend_form.tpl.php')) {
		include(DIR_TPL . 'friend/friend_form.tpl.php');
	} else {
		_log('Could not load the template "friend/friend_form"!', true);
	}
}
/* Sửa thông tin nhóm */
elseif ($act == 'update') {
	$friend = $_POST['friend'];
	$friend_id = $friend['friend_id'];

	// Cập nhật thông tin
	$sql = "UPDATE friend SET fullname='%s', mail='%s'";
	$sql .= " WHERE friend_id=%d";
	$success = mysql_query(sprintf( $sql, db_escape($friend['fullname']), db_escape($friend['mail']), 
									intval($friend['friend_id']) ));

	/* Cập nhật nhóm */
	mysql_query("DELETE FROM friend_to_friend_group WHERE friend_id=" . $friend_id);

	$sql = "INSERT INTO friend_to_friend_group VALUES('%d', '%d')";
	foreach ($friend['friend_group_ids'] as $group_id) {
		mysql_query(sprintf( $sql, $friend_id, intval($group_id) ));
	}


	/* Thông báo */
	if ($success) {
		$_SESSION['success'] = true;
		$_SESSION['msg'] = 'Đã sửa thành công';
	} else {
		$_SESSION['success'] = false;
		$_SESSION['msg'] = 'Không thể sửa bạn bè! Bạn hãy thử lại...';
	}

	session_write_close();
	header('Location: ' . URL . '?page=ban_be');
}

/* Xóa nhóm bạn bè */
elseif ($act == 'delete') {
	// Xóa nhóm bạn bè
	$sql = "DELETE FROM friend WHERE friend_id=" . intval($_REQUEST['friend_id']);
	$success = mysql_query($sql);

	/* Thông báo */
	if ($success) {
		$_SESSION['success'] = true;
		$_SESSION['msg'] = 'Đã xóa thành công';
	} else {
		$_SESSION['success'] = false;
		$_SESSION['msg'] = 'Không thể xóa nhóm! Bạn hãy thử lại...';
	}

	session_write_close();
	header('Location: ' . URL . '?page=ban_be');
}